It is known to implement edge enhancement techniques in computing devices (e.g., any thing that computes including but not limited to personal computer systems, both mobile and stationary including PDAs, mobile phones and other devices, notebook computers, desktop computers, etc.), digital cameras, televisions, digital media players (e.g., DVD players) and printers to make pictures, graphics, images, and video (individually and collectively, “images”) to look artificially sharper and more crisp than they otherwise appear. As is recognized many edge enhancement techniques create bright and dark highlights along either side of a line in an image to give the appearance of contrast from a distance and thus fool the human eye into thinking that the picture is more detailed. In many cases, where adverse halo effects are created as a result of implementing edge enhancement techniques, edge-enhanced images are actually less detailed as the halo effects often cover up finer details originally present in the source image.
Upscaling of images is also known in the prior art and is used to improve the resolution of an image, e.g., by increasing the number of horizontal lines within the frame so that when the images are drawn on a monitor, more pixel values are displayed. As with edge enhancement techniques, upscaling or interpolation techniques may also be performed by a variety of devices including but not limited to computing devices (e.g., any thing that computes including but not limited to personal computer systems, both mobile and stationary including PDAs, mobile phones and other devices, notebook computers, desktop computers, etc.), digital cameras, televisions, digital media players (e.g., DVD players) and printers. For example, on a television capable of supporting HDTV, an image may be upscaled from 480 lines to 1080 lines. Any suitable enlargement factor may be used, as recognized in the prior art. A variety of upscaling techniques are known in the prior art. Their associated benefits and disadvantages are also well documented as certain techniques may be better suited for different environments. For example, non-linear interpolation schemes are generally known to be “expensive” to realize in hardware implementations. Some of the known upscaling schemes include, for example, bilinear filtering interpolation schemes, bicubic filtering interpolation schemes, edge-directed interpolation schemes, nearest pixel interpolation schemes and other non-linear interpolation schemes. One example of an edge-directed interpolation scheme is described in the U.S. patent application having application Ser. No. 11/467,978, entitled “METHOD AND APPARATUS FOR INTERPOLATING IMAGE INFORMATION”, having inventors Jeff Wei and Marinko Karanovic, and owned by instant Assignee, which is incorporated herein in its entirety. Other examples of edge-directed interpolation schemes include, but are not limited to NEDI (“New Edge-Directed Interpolation”). In prior art cases where it is desirable to both upscale and enhance edges in an image, the adverse effects of the edge enhancement algorithms are made more severe due to the upscaling. For instance, contours in an edge enhanced destination image appear thick and blurred and halo affects are more noticeable.
Accordingly, a suitable system and method for upscaling while sharpening the details of an image is needed. In other words, a high quality system and method for producing an enhanced upscaled image based on a source image is needed. Such a system and method should limit the appearance of thick and blurred contours and edges in the destination image while also limiting the appearance of adverse halo effects. Such a system and method should also be capable of being implemented in small hardware such as small video processing engines or by a programmable engine such as a programmable shader.